package com.junzhiit.nengji.shop.dao;

import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.shop.bo.HomeHeaderInfoBO;
import com.junzhiit.nengji.shop.bo.PayHistoryBO;
import com.junzhiit.nengji.shop.model.PayHistory;

public interface PayHistoryDAO extends BaseDAO<PayHistory>{
	
	/**
	 * 
	 * TODO 查询该品牌/商户中的收入记录
	 * @author Zaki
	 * @time 2018年4月16日 下午8:30:17
	 * @return List<PayHistoryBO>
	 */
	public List<PayHistoryBO> queryPayHistory(PayHistoryBO payHistoryBO,Integer pageNumber, Integer maxPageRow);
	
	/**
	 * 
	 * TODO 查询该品牌/商户的收入记录数量
	 * @author Zaki
	 * @time 2018年4月17日 上午9:11:34
	 * @return int
	 */
	public int getTotalCount(PayHistoryBO payHistoryBO);
	
	/**
	 * 
	 * TODO 查询该商户下的用户消费排行
	 * @author Zaki
	 * @time 2018年4月20日 下午1:59:01
	 * @return List<PayHistoryBO>
	 */
	public List<PayHistoryBO> queryPayRanking(PayHistoryBO payHistoryBO,Integer pageNumber, Integer maxPageRow);
	
	/**
	 * 
	 * TODO 查询该商户下的用户消费排行统计数
	 * @author Zaki
	 * @time 2018年4月17日 上午9:11:34
	 * @return int
	 */
	public int getPayRankingTotalCount(PayHistoryBO payHistoryBO);
	
	/**
	 * 
	 * TODO 根据用户id查询该用户消费记录
	 * @author Zaki
	 * @time 2018年4月21日 上午10:50:32
	 * @return List<PayHistoryBO>
	 */
	public List<PayHistoryBO> queryUserPayHistory(String shopId,String userId,Integer pageNumber, Integer maxPageRow);
	
	/**
	 * 
	 * TODO 根据用户id查询该用户消费记录统计数
	 * @author Zaki
	 * @time 2018年4月17日 上午9:11:34
	 * @return int
	 */
	public int getUserPayHistoryTotalCount(String shopId,String userId);
	
	/**
	 * 
	 * TODO 根据chainId查找相应消费记录
	 * @author Zaki
	 * @time 2018年6月13日 下午3:52:39
	 * @return HomeHeaderInfoBO
	 */
	public HomeHeaderInfoBO getShopData(String chainId);
}
